﻿using System;
using System.Collections.Generic;
using System.Configuration;
using System.Xml.Linq;
using AccesoDatos.Interfaces;
using Entidades;
using Recursos;

namespace AccesoDatos.Implementacion
{
    /// <summary>
    /// Clase que implementa IDaoConsulta para Xml
    /// </summary>
    class DaoConsulta:IDaoConsulta
    {
        #region Implementation of IDaoConsulta

        /// <summary>
        /// Metodo que agrega una consulta en la base de datos
        /// </summary>
        /// <param name="consulta"></param>
        /// <returns></returns>
        public bool AgregarConsulta(Consulta consulta)
        {
            bool retorno = false;
            try
            {
                if (consulta != null)
                {
                    string ruta = ConfigurationManager.AppSettings[Strings.RutaXmlConsulta];
                    XElement xmlArch = XElement.Load(ruta);

                    XElement nodoConsulta = new XElement("consulta");
                    nodoConsulta.Add(new XElement("idConsulta", 1));
                    nodoConsulta.Add(new XElement("circunferenciaCefalica", consulta.CircunferenciaCefalica));
                    nodoConsulta.Add(new XElement("edadPaciente", consulta.EdadPaciente));
                    nodoConsulta.Add(new XElement("fechaConsulta", consulta.FechaConsulta));
                    nodoConsulta.Add(new XElement("estatura", consulta.EstaturaPaciente));
                    nodoConsulta.Add(new XElement("peso", consulta.PesoPaciente));
                    nodoConsulta.Add(new XElement("paciente", consulta.Paciente.Id));
                    xmlArch.Add(nodoConsulta);
                    xmlArch.Save(ruta);
                    retorno = true;
                }
            }
            catch (Exception)
            {


            }

            return retorno;
        }

        /// <summary>
        /// Metodo que edita los datos de una consulta
        /// </summary>
        /// <param name="consulta"></param>
        /// <returns></returns>
        public bool EditarConsulta(Consulta consulta)
        {
            throw new NotImplementedException();
        }

        /// <summary>
        /// Metodo que consulta las consultas segun los parametros
        /// </summary>
        /// <param name="parametros"></param>
        /// <returns></returns>
        public List<Consulta> ObtenerConsultas(Consulta parametros)
        {
            throw new NotImplementedException();
        }

        #endregion
    }
}
